package com.ztorn.fiscale.mapper;

import java.util.List;
import com.ztorn.fiscale.domain.FiscaleRefundException;

/**
 * 配单异常记录Mapper接口
 * 
 * @author ztorn
 * @date 2025-09-20
 */
public interface FiscaleRefundExceptionMapper 
{
    /**
     * 查询配单异常记录
     * 
     * @param exceptionId 配单异常记录主键
     * @return 配单异常记录
     */
    public FiscaleRefundException selectFiscaleRefundExceptionById(Long exceptionId);

    /**
     * 查询配单异常记录列表
     * 
     * @param fiscaleRefundException 配单异常记录
     * @return 配单异常记录集合
     */
    public List<FiscaleRefundException> selectFiscaleRefundExceptionList(FiscaleRefundException fiscaleRefundException);

    /**
     * 新增配单异常记录
     * 
     * @param fiscaleRefundException 配单异常记录
     * @return 结果
     */
    public int insertFiscaleRefundException(FiscaleRefundException fiscaleRefundException);

    /**
     * 修改配单异常记录
     * 
     * @param fiscaleRefundException 配单异常记录
     * @return 结果
     */
    public int updateFiscaleRefundException(FiscaleRefundException fiscaleRefundException);

    /**
     * 删除配单异常记录
     * 
     * @param exceptionId 配单异常记录主键
     * @return 结果
     */
    public int deleteFiscaleRefundExceptionById(Long exceptionId);

    /**
     * 批量删除配单异常记录
     * 
     * @param exceptionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFiscaleRefundExceptionByIds(Long[] exceptionIds);
    
    /**
     * 根据单据类型和单据ID查询配单异常记录
     * 
     * @param documentType 单据类型
     * @param documentId 单据ID
     * @return 配单异常记录
     */
    public FiscaleRefundException selectFiscaleRefundExceptionByDocumentTypeAndId(String documentType, Long documentId);
    
    /**
     * 根据状态查询配单异常记录列表
     * 
     * @param status 状态
     * @return 配单异常记录集合
     */
    public List<FiscaleRefundException> selectFiscaleRefundExceptionListByStatus(String status);
}